The present technique relates to an apparatus and method for performing multiply-and-accumulate-products (MAP) operations.
Within a data processing system, processing circuitry may be provided for performing data processing in response to instructions. The processing circuitry may include multiplication circuitry for multiplying a pair of operands in order to generate a product result. The multiplication circuitry may include an array of adders for accumulating partial products of the pair of operands.
Single Instruction Multiple Data (SIMD) circuitry can be used to allow multiple operations to be performed in parallel. When seeking to accumulate a number of multiplication products, such SIMD circuitry can be used to enable the calculation and adding of more than one product per instruction. Hence, a multiply-and-accumulate-products (MAP) instruction can be executed in order to enable a number of products to be calculated and accumulated together within an accumulate register.
It would be desirable to enable the execution of such MAP instructions to be performed in a manner which is efficient in terms of circuit area and/or power consumption.